package com.dayu.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * properties 工具类
 * 
 * @author Chenjiawei
 *
 *         2017年5月25日
 */
public class PropertiesUtil {

	static Logger LOGGER = LoggerFactory.getLogger(PropertiesUtil.class);

	private static Properties prop = new Properties();
	private final static String file = "./config.properties";

	static {

		try {
			prop.load(new FileInputStream(file));
		} catch (IOException e) {
			LOGGER.warn("读取配置文件失败", e);
		}
	}

	/**
	 * 判断文件是否存在
	 * 
	 * @return
	 */
	public static boolean exists() {
		return new File(file).exists();
	}

	public static String getProperty(String key) {
		return prop.getProperty(key);
	}

	/**
	 * 将文件加载到内存中，在内存中修改key对应的value值，再将文件保存
	 */
	public static void setProperty(String key, String value) {

		try (FileOutputStream fos = new FileOutputStream(file)) {

			prop.setProperty(key, value);
			prop.store(fos, null);
		} catch (Exception e) {
			LOGGER.warn("写入配置文件失败", e);
		}
	}
}